模块化Modules
假定【 user 】模块需要调用公共模块 【shared】
src/shared/system.service.ts
import { Injectable, Inject } from '@nestjs/common';
@Injectable()
export class SystemService {
constructor() { }
getEnv() {
return {
a: 1
}
}
}
src/shared/shared.module.ts
import { Module } from '@nestjs/common';
import { SystemService } from './services/system.service';
@Module({
controllers: [],
imports: [],
exports: [SystemService],
providers: [SystemService],
})
export class SharedModule { }
src/user/user.module.ts
import { Module } from '@nestjs/common';
import { UserService } from './user.service';
import { UserController } from './user.controller';
import { SharedModule } from '../shared/shared.module';
@Module({
controllers: [UserController],
providers: [UserService],
imports: [SharedModule] // 引用模块
})
export class UserModule { }
src/user/user.service.ts
export class UserService {
constructor(
// 追加模块注入
private readonly systemService: SystemService) {
}
create(createUserDto: CreateUserDto) {
// 追加调用模块
console.log(this.systemService.getEnv())
// 调用Modle
return 'This action adds a 🚀 new user';
}
}